﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using HTSwitchServerNamespace;
using CLoggerNamespace;

namespace HTSwitchServiceNamespace
{
	public partial class HTSwitchService : ServiceBase
	{
		private CHTSwitchServer srvHTSwitch;

		public HTSwitchService()
		{
			InitializeComponent();
            srvHTSwitch = new CHTSwitchServer();
			CLogger.Append(" Inicializando Servicio", CLogger.INFO);
		}

		protected override void OnStart(string[] args)
		{

            //srvHTSwitch.lanzarMantenimientoDiario();
            //CLogger.Append(" Servicio Mantenimiento Diario", CLogger.INFO);
            
            //srvHTSwitch.lanzarMantenimientoPrioritario();
            //CLogger.Append(" Servicio Mantenimiento Prioritario", CLogger.INFO);

			// TODO: agregar código aquí para iniciar el servicio.
            srvHTSwitch.LanzarServer();
			CLogger.Append(" Servicio iniciado", CLogger.INFO);

            srvHTSwitch.lanzarControldeNuevosUsuarios();
            CLogger.Append(" Servicio Control de Nuevos Usuarios Iniciado", CLogger.INFO);

           
		}

		protected override void OnStop()
		{
            srvHTSwitch.stopControldeNuevosUsuarios();
            CLogger.Append(" Servicio Control de nuevos Usuarios detenido ", CLogger.INFO);

            srvHTSwitch.stopServerMantenimientoDiario();
            CLogger.Append(" Servicio detenido Mantenimiento Diario", CLogger.INFO);

            srvHTSwitch.stopServerMantenimientoPrioritario();
            CLogger.Append(" Servicio detenido Mantenimiento Prioritario", CLogger.INFO);

			// TODO: agregar código aquí para realizar cualquier anulación necesaria para detener el servicio.
            srvHTSwitch.StopServer();
			CLogger.Append(" Servicio detenido", CLogger.INFO);

            
		}

	}
}
